#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2025/8/23 10:12
# @Author  : 1823218990@qq.com
# @File    : readme
# @Software: Pycharm

"""
https://visualstudio.microsoft.com/visual-cpp-build-tools

error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/thank-you/net462-web-installer

python -m pip install pygobject -i https://mirrors.aliyun.com/pypi/simple

python -m pip install pyinstaller

使用 pyinstaller 打包 python 程序，使用 - w 参数，去掉 console
发现执行命令行的 subprocess 相关语句报 '[ERROR] [WinError 6] 句柄无效' 的错误。

"""

"""
列出音频设备

ffmpeg.exe -list_devices true -f dshow -i dummy


D:\workspace\videocut\ffmpeg\bin


// Windows
ffmpeg -f dshow -i audio="麦克风 (Realtek High Definition Audio)" -c:a aac audio.mp4

ffmpeg -f dshow -t 00:02:00 -i audio="麦克风 (Realtek High Definition Audio)" -c:a aac audio.mp4 

"""

"""
-f gdigrab	Windows 屏幕捕获驱动
-f x11grab	Linux 屏幕捕获驱动
-f avfoundation	macOS 屏幕/音频捕获驱动
-i desktop	捕获整个屏幕（Windows）
-i :0.0	Linux 主显示器（X11）
-f dshow -i audio="..."	Windows 音频设备名（通过 ffmpeg -list_devices true -f dshow -i dummy 查询）
-f alsa -i default	Linux 默认音频输入
-c:v libx264	H.264 视频编码
-preset ultrafast	编码速度优化（牺牲压缩率）
-crf 18	视频质量（18~28，值越小质量越高）
-c:a aac	AAC 音频编码
-b:a 192k	音频比特率（192kbps）
-vframes  100  参数值是一个具体的帧数,100帧
-t 00:02:00 设置持续时间为120秒 
"""

# 通过摄像头
cmd = 'ffmpeg -f dshow -t 00:00:10  -i video="Intel(R) RealSense(TM) 3D Camera (Front F200) RGB":audio="麦克风 (Realtek High Definition Audio)" audio.mp4'

# 通过屏幕
"""
-framerate 6   
     6帧/秒
-offset_x 10 -offset_y 20 
     左上角(10,20)
video_size   
     视频尺寸，默认整个桌面或整个窗口  尺寸(640x480)
draw_mouse
    是否包含鼠标。0=不包含，1=包含。默认值1，视频含有鼠标。
show_region
    录屏时是否在屏幕上显示边界框。用于检查录屏区域，防止区域错误。
    1显示，0不显示。
-vf  "crop=宽度:高度:起始X坐标:起始Y坐标"
"""

"""
音频播放

https://github.com/jiao808813/virtual-audio-capture-grabber-device

http://file.luyinla.com/Software/virtual-audio-capturer.exe
"""
cmd = 'ffmpeg -f dshow -t 00:00:10  -i video="Intel(R) RealSense(TM) 3D Camera (Front F200) RGB":audio="麦克风 (Realtek High Definition Audio)" audio.mp4'

cmd2 = 'ffmpeg -f gdigrab -framerate 1 -t 00:00:10 -show_region 1 -video_size 500x500 -offset_x 100 -offset_y 200 -i desktop -vf "scale=500:500" audio.mp4'

cmd3 = 'ffmpeg -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -c:v libx264 -c:a aac -t 10 -vf "crop=800:500:100:100" audio.mp4'

